package  
{
	import flash.display.MovieClip;
	import flash.events.Event;
	/**
	 * ...
	 * @author Luis Felipe
	 */
	public class Inimigo extends MovieClip
	{
		
		var velocidadeY : int;
		
		var direcao : String;
		
		var AR_pisos : Array;
		
		var campoVisao : int;
		var tiroDelay : int;
		var podeAtirar : Boolean;
		var podeMover : Boolean;
		
		public function Inimigo(AR_solos) 
		{
			velocidadeY = 0;
			
			AR_pisos = AR_solos;
			
			campoVisao = 200;
			tiroDelay = 0;
			podeAtirar = false;
			podeMover = false;
			
			addEventListener(Event.ENTER_FRAME, update);
		}
		public function update(e:Event):void
		{
			gravidade();
			mover();
			atirar();
		}
		
		public function gravidade():void
		{
			velocidadeY += 1;
			this.y += velocidadeY;
			podeMover = false;
			
			if (velocidadeY >= 15)
			{
				velocidadeY = 15;
			}
			
			for (var i : int = 0; i < AR_pisos.length; i++ )
			{
				if (this.hitTestObject(AR_pisos[i]) && this.y <= AR_pisos[i].y && velocidadeY > 0)
				{
					velocidadeY = 0;
					this.y = AR_pisos[i].y - AR_pisos[i].height / 2 - this.height / 2;
					podeMover = true;
				}
			}
		}
		
		public function mover():void
		{
			if (Main.personagem != null && podeMover == true)
			{
				if (this.x >= campoVisao/2 + Main.personagem.x)
				{
					this.x -= 5;
				}
				else if (this.x <= -campoVisao/2 + Main.personagem.x)
				{
					this.x += 5;
				}
				if (this.x > Main.personagem.x)
				{
					direcao = "esquerda";
				}
				else if (this.x < Main.personagem.x)
				{
					direcao = "direita";
				}
				
			}
		}
		
		public function atirar():void
		{
			tiroDelay++;
			podeAtirar = false;
			if ( tiroDelay >= 20)
			{
				tiroDelay = 20;
				if (Main.personagem != null)
				{
					if (this.x > Main.personagem.x - campoVisao && this.x < Main.personagem.x + campoVisao)
					{
						podeAtirar = true;
						tiroDelay = 0;
					}
				}
			}
		}
	}

}